/* Copyright (c) 2016-2020 Enfry Ltd. All Rights Reserved.
 * 
 * This software is the confidential and proprietary information of Enfry. 
 * You shall not disclose such Confidential Information
 * and shall use it only in accordance with the terms of the agreements
 * you entered into with Enfry.
 */
package com.enfry.storage.api;

import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

/**
 * 文件操作业务。
 * @Title com.enfry.storage.api.IFileOperateService
 * @author liulei
 * @date 2016年7月25日
 */
public interface IFileOperate {
	
String upload(InputStream inputStream, long fileSize, String fileExtName);
    
    String upload(byte[] fileBytes, String fileExtName);

    String uploadSlave(String appKey, String masterFileCode, byte[] fileBytes, String prefix, String fileExtName);
    
    byte[] download(String fileCode);
    
    void download(String fileCode, OutputStream outputStream);
    
    void delete(String fileCode);
    
    List<String> deleteBatch(String[] fileCode);
    
    String getIMGUrl(String serverUrl, String fileCode, String appKey, String appSecret);

}
